<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:jb="http://java.sun.com/jsf/composite/componentes"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">
        <ui:define name="contenido">
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">
                <p:panel id="pnlPrincipal" header="#{i18n['persona.panel']} #{personaMBean.dto.id}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid id="pgFormDto" columns="8" cellpadding="4">
                        <h:outputLabel value="#{i18n['persona.label.primernombre']}" styleClass="label"/>
                        <p:inputText label="#{i18n['persona.label.primernombre']}"
                                     value="#{personaMBean.dto.primerNombre}"  readonly="#{sessionMBean.accion == 3}"
                                     required="true" size="30" onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                            <f:validateLength maximum="30" minimum="3" />
                        </p:inputText>

                        <h:outputLabel value="#{i18n['persona.label.segundonombre']}" styleClass="label"/>
                        <p:inputText label="#{i18n['persona.label.segundonombre']}"
                                     value="#{personaMBean.dto.segundoNombre}"  readonly="#{sessionMBean.accion == 3}"
                                     size="30" onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                        </p:inputText>

                        <h:outputLabel value="#{i18n['persona.label.apellidopaterno']}" styleClass="label"/>
                        <p:inputText label="#{i18n['persona.label.apellidopaterno']}"
                                     value="#{personaMBean.dto.apellidoPaterno}"  readonly="#{sessionMBean.accion == 3}"
                                     required="true" size="30" onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                            <f:validateLength maximum="30" minimum="3" />
                        </p:inputText>

                        <h:outputLabel value="#{i18n['persona.label.apellidomaterno']}" styleClass="label"/>
                        <p:inputText label="#{i18n['persona.label.apellidomaterno']}"
                                     value="#{personaMBean.dto.apellidoMaterno}"  readonly="#{sessionMBean.accion == 3}"
                                     required="true" size="30" onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                            <f:validateLength maximum="30" minimum="3" />
                        </p:inputText>

                        <h:outputLabel value="#{i18n['persona.label.tipodocumento']}" styleClass="label"/>
                        <p:selectOneMenu value="#{personaMBean.dto.tipoDocumentoDto}" converter="parametroConvert" styleClass="txtCampoObligatorio" disabled="#{sessionMBean.accion == 3}">
                            <f:selectItems value="#{personaMBean.listaTipoDocumento}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                        </p:selectOneMenu>

                        <h:outputLabel value="#{i18n['persona.label.numerodocumento']}" styleClass="label"/>
                        <p:inputText label="#{i18n['persona.label.numerodocumento']}"
                                     value="#{personaMBean.dto.numeroDocumento}" readonly="#{sessionMBean.accion == 3}"
                                     required="true" size="30" onkeypress="return fn_validaTecla('entero',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                        </p:inputText>

                        <h:outputLabel value="#{i18n['persona.label.email']}" styleClass="label"/>
                        <p:inputText label="#{i18n['persona.label.email']}"
                                     value="#{personaMBean.dto.email}"  readonly="#{sessionMBean.accion == 3}"
                                     required="true" size="50" onkeypress="return fn_validaTecla('email',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                            <f:validateLength maximum="50" minimum="3" />
                        </p:inputText>

                        <h:outputLabel value="#{i18n['persona.label.telefonocelular']}" styleClass="label"/>
                        <p:inputText label="#{i18n['persona.label.telefonocelular']}"
                                     value="#{personaMBean.dto.telefonoCelular}"  readonly="#{sessionMBean.accion == 3}"
                                     size="20" onkeypress="return fn_validaTecla('entero',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                        </p:inputText>

                        <h:outputLabel value="#{i18n['persona.label.telefonofijo']}" styleClass="label"/>
                        <p:inputText label="#{i18n['persona.label.telefonofijo']}"
                                     value="#{personaMBean.dto.telefonoFijo}"  readonly="#{sessionMBean.accion == 3}"
                                     size="20" onkeypress="return fn_validaTecla('entero',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                        </p:inputText>

                        <h:outputLabel value="#{i18n['persona.label.nacionalidad']}" styleClass="label"/>
                        <p:selectOneMenu value="#{personaMBean.dto.nacionalidadDto}" converter="ubigeoConvert" disabled="#{sessionMBean.accion == 3}">
                            <f:selectItems value="#{applicationMBean.siPaisesActivos}" var="ubigeoDto" itemLabel="#{ubigeoDto.descripcion}" itemValue="#{ubigeoDto}"/>
                        </p:selectOneMenu>

                        <h:outputLabel value="#{i18n['persona.label.fechanacimiento']}" styleClass="label"/>
                        <p:calendar value="#{personaMBean.dto.fechaNacimiento}" label="#{i18n['persona.label.fechanacimiento']}" pattern="#{applicationMBean.formatoFecha}"
                                    style="#{applicationMBean.estiloObligatorio}" disabled="#{sessionMBean.accion == 3}">
                            <f:convertDateTime pattern="#{applicationMBean.formatoFecha}" />
                        </p:calendar>

                        <h:outputLabel value="#{i18n['persona.label.sexo']}" styleClass="label"/>
                        <p:selectOneMenu value="#{personaMBean.dto.sexoDto}"  converter="parametroConvert" disabled="#{sessionMBean.accion == 3}">
                            <f:selectItems value="#{personaMBean.listaSexos}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />
                        </p:selectOneMenu>

                        <h:outputLabel value="#{i18n['persona.label.estadocivil']}" styleClass="label"/>
                        <p:selectOneMenu value="#{personaMBean.dto.estadoCivilDto}"  converter="parametroConvert" disabled="#{sessionMBean.accion == 3}">
                            <f:selectItems value="#{personaMBean.listaEstadoCivil}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />
                        </p:selectOneMenu>

                        <h:outputLabel value="#{i18n['persona.label.tipomoneda']}" styleClass="label"/>
                        <p:selectOneMenu value="#{personaMBean.dto.tipoMonedaDto}"  converter="parametroConvert" required="true" disabled="#{sessionMBean.accion == 3}">
                            <f:selectItems value="#{personaMBean.listaTipoMoneda}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />
                        </p:selectOneMenu>

                        <h:outputLabel value="#{i18n['persona.label.expecsalario']}" styleClass="label"/>
                        <p:inputText label="#{i18n['persona.label.expecsalario']}"
                                     value="#{personaMBean.dto.salarioExpec}"  readonly="#{sessionMBean.accion == 3}"
                                     size="20" onkeypress="return fn_validaTecla('decimal',this)"
                                     style="#{applicationMBean.estiloObligatorio}">
                            <f:validateLength maximum="20" minimum="2" />
                            <f:convertNumber pattern="#{applicationMBean.formatoMontos}"/>
                        </p:inputText>
                    </h:panelGrid>

                    <h:panelGrid id="pgFormDto2" columns="2" cellpadding="16">
                        <h:outputLabel value="#{i18n['persona.label.biografia']}" styleClass="label"/>
                        <p:inputTextarea label="#{i18n['persona.label.biografia']}"
                                         value="#{personaMBean.dto.biografia}"  readonly="#{sessionMBean.accion == 3}"
                                         onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)"
                                         style="#{applicationMBean.estiloObligatorio}"
                                         rows="5" cols="80">
                            <f:validateLength maximum="1000" minimum="0" />
                        </p:inputTextarea>
                    </h:panelGrid>

                </p:panel>
                <p:panel id="pnlAcciones">
                    <h:panelGrid columns="10">
                        <p:commandButton title="#{i18n['general.button.guardar.tip']}" accesskey="#{applicationMBean.keyGuardar}" 
                                         icon="ui-icon ui-icon-disk" rendered="#{sessionMBean.privilegiosOpciones['524']=='true' and sessionMBean.accion != 3}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');"
                                         ajax="true" update="pnlPrincipal, :tabPrincipalDeta"
                                         value="#{i18n['general.button.guardar']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{personaMBean.guardar}">
                        </p:commandButton>

                        <p:commandButton title="#{i18n['general.button.atras.tip']}" accesskey="#{applicationMBean.keyRetroceder}" ajax="false"
                                         icon="ui-icon ui-icon-arrowreturnthick-1-w" immediate="true"
                                         value="#{i18n['general.button.atras']}" style="#{applicationMBean.cssBotonAtras}"
                                         action="#{personaMBean.retroceder}">
                        </p:commandButton>
                    </h:panelGrid>
                </p:panel>
            </h:form>

            <p:tabView id="tabPrincipalDeta" orientation="top" style="#{applicationMBean.estiloTitulo}" rendered="#{personaMBean.dto.id!=null}">
                <p:tab id="tabEstudio" title="#{i18n['estudio.titulo']}">
                    <h:form onsubmit="return checkSubmit();" id="frmEstudio">
                        <h:panelGrid columns="1" id="pgEstudio">
                            <h:panelGrid columns="1">
                                <p:commandButton title="#{i18n['estudio.titulo.button.add']}"
                                                 icon="ui-icon ui-icon-plus"
                                                 value="#{i18n['estudio.titulo.button.add']}" 
                                                 style="#{applicationMBean.cssBotonTransaccion}" 
                                                 rendered="#{sessionMBean.privilegiosOpciones['402']=='true' and sessionMBean.accion!=3}"
                                                 oncomplete="carDialogEstudios.show()" update=":frmPopupEstudio:pgFormEstudio"
                                                 action="#{personaMBean.nuevoEstudio}">
                                </p:commandButton>
                            </h:panelGrid>

                            <p:dataTable id="tblEstudio" value="#{personaMBean.dto.listaEstudios}" var="dto" widgetVar="widTable" 
                                         selectionMode="single" rowKey="#{dto.id}"
                                         emptyMessage="#{i18n['form.general.mensaje.no.registros']}" styleClass="estiloPanel">
                                <p:column style="text-align:center;">
                                    <h:panelGrid columns="10" cellspacing="10" styleClass="estiloPanelGrid">
                                        <p:column style="text-align:center;">
                                            <h:panelGrid columns="10" cellspacing="5" styleClass="estiloPanelGrid">
                                                <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.button.ver.tip']}"
                                                                 actionListener="#{personaMBean.verEstudio}" ajax="true"
                                                                 oncomplete="carDialogEstudios.show()"
                                                                 update=":frmPopupEstudio">
                                                    <f:setPropertyActionListener value="#{dto}" target="#{personaMBean.estudioDto}" />
                                                </p:commandButton>
                                                <p:commandButton icon="ui-icon ui-icon-pencil" title="#{i18n['general.button.editar.tip']}" 
                                                                 rendered="#{sessionMBean.privilegiosOpciones['402']=='true' and sessionMBean.accion!=3}"
                                                                 update=":frmPopupEstudio"
                                                                 actionListener="#{personaMBean.editarEstudio}" 
                                                                 oncomplete="carDialogEstudios.show()" ajax="true">
                                                    <f:setPropertyActionListener value="#{dto}" target="#{personaMBean.estudioDto}" />                                                                    
                                                </p:commandButton>
                                                <p:commandButton icon="ui-icon  ui-icon-close" title="#{i18n['general.button.eliminar']}"
                                                                 rendered="#{sessionMBean.privilegiosOpciones['402']=='true' and sessionMBean.accion!=3 &amp;&amp; personaMBean.accesoBtnGuardar}"
                                                                 update="tblEstudio,:msgs" ajax="true" immediate="true"
                                                                 action="#{personaMBean.eliminarEstudio}">
                                                    <f:setPropertyActionListener value="#{dto}" target="#{personaMBean.estudioDto}" />
                                                </p:commandButton>
                                            </h:panelGrid>
                                        </p:column>
                                    </h:panelGrid>
                                </p:column>

                                <p:column headerText="#{i18n['estudio.label.pais']}" styleClass="general">
                                    <h:outputText value="#{dto.paisDto.descripcion}" styleClass="general"/>
                                </p:column>
                                <p:column headerText="#{i18n['estudio.label.institucion']}" styleClass="general">
                                    <h:outputText value="#{dto.institucion}" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['estudio.label.fecha_inicio']}" styleClass="general">
                                    <h:outputText value="#{dto.fechaInicio}" styleClass="general" >
                                        <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"/>
                                    </h:outputText>
                                </p:column>
                                <p:column headerText="#{i18n['estudio.label.fecha_fin']}" styleClass="general">
                                    <h:outputText value="#{dto.fechaFin}" styleClass="general" >
                                        <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"/>
                                    </h:outputText>
                                </p:column>
                                <p:column headerText="#{i18n['estudio.label.nivel']}" styleClass="general">
                                    <h:outputText value="#{dto.nivelDto.descripcion}" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['estudio.label.estado_estudio']}" styleClass="general">
                                    <h:outputText value="#{dto.estadoEstudioDto.descripcion}" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['estudio.label.profesion']}" styleClass="general">
                                    <h:outputText value="#{dto.profesionDto.descripcion}" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['estudio.label.principal']}" styleClass="general">
                                    <p:commandButton icon="ui-icon ui-icon-check" title="#{i18n['estudio.button.establecer.tip']}"
                                                     action="#{personaMBean.setEstudioPrincipal}" ajax="true" immediate="true"
                                                     rendered="#{dto.principal==null || dto.principal!=1}"
                                                     update="tblEstudio">
                                        <f:setPropertyActionListener value="#{dto}" target="#{personaMBean.estudioDto}" />
                                    </p:commandButton>
                                    <p:commandButton icon="ui-icon ui-icon-home" rendered="#{dto.principal==1}" 
                                                     title="#{i18n['estudio.button.main.tip']}"/>
                                </p:column>
                            </p:dataTable>
                        </h:panelGrid>
                    </h:form>
                </p:tab>

                <p:tab title="#{i18n['idioma.panel']}">
                    <h:form onsubmit="return checkSubmit();"  id="frmIdioma">
                        <h:panelGrid  columns="8" cellpadding="4" id="pgIdioma">
                            <h:outputLabel value="#{i18n['idioma.label.idioma']}" styleClass="label"/>
                            <p:selectOneMenu value="#{personaMBean.idiomaParametroDto}" style="width:120px;" converter="parametroConvert" styleClass="txtCampoObligatorio">
                                <f:selectItems value="#{personaMBean.listaIdioma}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                            </p:selectOneMenu>

                            <h:outputLabel value="#{i18n['idioma.label.oral']}" styleClass="label"/>
                            <p:selectOneMenu value="#{personaMBean.oral}" style="width:120px;">
                                <f:selectItem itemLabel="BASICO" itemValue="B"/>
                                <f:selectItem itemLabel="INTERMEDIO" itemValue="I"/>
                                <f:selectItem itemLabel="AVANZADO" itemValue="A"/>
                            </p:selectOneMenu>

                            <h:outputLabel value="#{i18n['idioma.label.escrito']}" styleClass="label"/>
                            <p:selectOneMenu value="#{personaMBean.escrito}" style="width:120px;">
                                <f:selectItem itemLabel="BASICO" itemValue="B"/>
                                <f:selectItem itemLabel="INTERMEDIO" itemValue="I"/>
                                <f:selectItem itemLabel="AVANZADO" itemValue="A"/>
                            </p:selectOneMenu>

                            <p:spacer width="10" />
                            <p:commandButton icon="ui-icon ui-icon-plus" title="#{i18n['persona.button.agregar.idioma']}"
                                             value="#{i18n['persona.button.agregar.idioma']}"
                                             rendered="#{sessionMBean.privilegiosOpciones['403']=='true' &amp;&amp; sessionMBean.accion != 3 &amp;&amp; personaMBean.accesoBtnGuardar}"
                                             style="#{applicationMBean.cssBotonBusqueda}" 
                                             ajax="true" update="tblIdioma, pgIdioma,:msgs" 
                                             action="#{personaMBean.agregarIdioma}">
                            </p:commandButton>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <p:dataTable id="tblIdioma" value="#{personaMBean.dto.listaIdiomas}" var="dto"
                                         selectionMode="single" rowKey="#{dto.id}"
                                         emptyMessage="#{i18n['persona.mensaje.no.idioma']}" styleClass="estiloPanel">
                                <p:column style="text-align:center;">
                                    <h:panelGrid id="pgBotonesGrilla" columns="10" cellspacing="10" styleClass="estiloPanelGrid">
                                        <p:commandButton icon="ui-icon  ui-icon-close" title="#{i18n['general.button.eliminar']}"
                                                         rendered="#{sessionMBean.privilegiosOpciones['403']=='true' and sessionMBean.accion!=3 &amp;&amp; personaMBean.accesoBtnGuardar}"
                                                         update="tblIdioma,:msgs" ajax="true" immediate="true"
                                                         action="#{personaMBean.eliminarIdioma}">
                                            <f:setPropertyActionListener value="#{dto}" target="#{personaMBean.idiomaDto}" />
                                        </p:commandButton>
                                    </h:panelGrid>
                                </p:column>

                                <p:column headerText="#{i18n['idioma.label.idioma']}"  style="text-align:center;">
                                    <h:outputText value="#{dto.idiomaDto.descripcion}" styleClass="txtCampo" />
                                </p:column>
                                <p:column headerText="#{i18n['idioma.label.oral']}"  >
                                    <h:outputText value="#{dto.oral=='B'? 'BASICO': dto.oral=='I' ? 'INTERMEDIO' : dto.oral=='A' ? 'AVANZADO' : ''}" styleClass="txtCampo" />
                                </p:column>
                                <p:column headerText="#{i18n['idioma.label.escrito']}"  >
                                    <h:outputText value="#{dto.escrito=='B'? 'BASICO': dto.escrito=='I' ? 'INTERMEDIO' : dto.escrito=='A' ? 'AVANZADO' : ''}" styleClass="txtCampo" />
                                </p:column>
                            </p:dataTable>
                        </h:panelGrid>
                    </h:form>
                </p:tab>

                <p:tab title="#{i18n['informatica.panel']}">
                    <h:form onsubmit="return checkSubmit();"  id="frmInformatica">
                        <h:panelGrid  columns="6" cellpadding="4" id="pgInformatica">
                            <h:outputLabel value="#{i18n['informatica.label.informatica']}" styleClass="label"/>
                            <p:selectOneMenu value="#{personaMBean.informaticaParametroDto}" style="width:120px;" converter="parametroConvert" styleClass="txtCampoObligatorio">
                                <f:selectItems value="#{personaMBean.listaHerramientaOffice}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />
                            </p:selectOneMenu>

                            <h:outputLabel value="#{i18n['informatica.label.nivel']}" styleClass="label"/>
                            <p:selectOneMenu value="#{personaMBean.nivelInformatica}" style="width:120px;">
                                <f:selectItem itemLabel="BASICO" itemValue="B"/>
                                <f:selectItem itemLabel="INTERMEDIO" itemValue="I"/>
                                <f:selectItem itemLabel="AVANZADO" itemValue="A"/>
                            </p:selectOneMenu>

                            <p:spacer width="10" />
                            <p:commandButton icon="ui-icon ui-icon-plus" title="#{i18n['convocatoria.button.agregar.medio_difusion']}"
                                             value="#{i18n['persona.button.agregar.informatica']}"
                                             rendered="#{sessionMBean.privilegiosOpciones['404']=='true' &amp;&amp; sessionMBean.accion != 3 &amp;&amp; personaMBean.accesoBtnGuardar}"
                                             style="#{applicationMBean.cssBotonBusqueda}" 
                                             ajax="true" update="tblInformatica, pgInformatica,:msgs"
                                             action="#{personaMBean.agregarHerramientaInformatica}">
                            </p:commandButton>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <p:dataTable id="tblInformatica" value="#{personaMBean.dto.listaConocInformatica}" var="dto"
                                         selectionMode="single" rowKey="#{dto.id}"
                                         emptyMessage="#{i18n['persona.mensaje.no.informatica']}" styleClass="estiloPanel">
                                <p:column style="text-align:center;">
                                    <h:panelGrid id="pgBotonesGrilla" columns="10" cellspacing="10" styleClass="estiloPanelGrid">
                                        <p:commandButton icon="ui-icon  ui-icon-close" title="#{i18n['general.button.eliminar']}" 
                                                         rendered="#{sessionMBean.privilegiosOpciones['404']=='true' and sessionMBean.accion!=3 &amp;&amp; personaMBean.accesoBtnGuardar}" ajax="true" immediate="true"
                                                         update="tblInformatica,:msgs"
                                                         action="#{personaMBean.eliminarHerramientaInformatica}">
                                            <f:setPropertyActionListener value="#{dto}" target="#{personaMBean.informaticaDto}" /> 
                                        </p:commandButton>
                                    </h:panelGrid>
                                </p:column>
                                <p:column headerText="#{i18n['informatica.label.herramienta_office']}"  >
                                    <h:outputText value="#{dto.herramientaOfficeDto.descripcion}" styleClass="txtCampo" />
                                </p:column>
                                <p:column headerText="#{i18n['informatica.label.nivel']}"  >
                                    <h:outputText value="#{dto.nivel =='B'? 'BASICO': dto.nivel=='I' ? 'INTERMEDIO' : dto.nivel=='A' ? 'AVANZADO' : ''}" styleClass="txtCampo" />
                                </p:column>
                            </p:dataTable>
                        </h:panelGrid>
                    </h:form>
                </p:tab>

                <p:tab id="tabExperiencia" title="#{i18n['experiencia.panel']}">
                    <h:form onsubmit="return checkSubmit();"  id="frmExperiencia">
                        <h:panelGrid  columns="10" cellpadding="4" id="pgExperiencia">
                            <p:commandButton title="#{i18n['persona.button.agregar.experiencia']}"
                                             icon="ui-icon ui-icon-plus"
                                             value="#{i18n['persona.button.agregar.experiencia']}" 
                                             style="#{applicationMBean.cssBotonTransaccion}" 
                                             rendered="#{sessionMBean.privilegiosOpciones['406']=='true' and sessionMBean.accion!=3}"
                                             update=":frmPopupExperiencia:pgFormExperiencia"
                                             oncomplete="carDialogExperiencia.show()"
                                             action="#{personaMBean.nuevaExperiencia}">
                            </p:commandButton>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <p:dataTable id="tblExperiencia" value="#{personaMBean.dto.listaExperiencias}" var="dto" widgetVar="widTable" 
                                         selectionMode="single" rowKey="#{dto.id}"
                                         emptyMessage="#{i18n['form.general.mensaje.no.registros']}" styleClass="estiloPanel"   >                        
                                <p:column style="text-align:center;">
                                    <h:panelGrid columns="10" cellspacing="5" styleClass="estiloPanelGrid">
                                        <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.button.ver.tip']}"
                                                         actionListener="#{personaMBean.verExperiencia}" ajax="true"
                                                         oncomplete="carDialogExperiencia.show()"
                                                         update=":frmPopupExperiencia">
                                            <f:setPropertyActionListener value="#{dto}" target="#{personaMBean.experienciaDto}" />
                                        </p:commandButton>
                                        <p:commandButton icon="ui-icon ui-icon-pencil" title="#{i18n['general.button.editar.tip']}" 
                                                         rendered="#{sessionMBean.privilegiosOpciones['406']=='true' and sessionMBean.accion!=3}"
                                                         update=":frmPopupExperiencia"
                                                         actionListener="#{personaMBean.editarExperiencia}" 
                                                         oncomplete="carDialogExperiencia.show()" ajax="true">
                                            <f:setPropertyActionListener value="#{dto}" target="#{personaMBean.experienciaDto}" />                                                                    
                                        </p:commandButton>
                                        <p:commandButton icon="ui-icon  ui-icon-close" title="#{i18n['general.button.eliminar']}"
                                                         rendered="#{sessionMBean.privilegiosOpciones['406']=='true' and sessionMBean.accion!=3 &amp;&amp; personaMBean.accesoBtnGuardar}"
                                                         update="tblExperiencia,:msgs" ajax="true" immediate="true"
                                                         action="#{personaMBean.eliminarExperiencia}">
                                            <f:setPropertyActionListener value="#{dto}" target="#{personaMBean.experienciaDto}" />
                                        </p:commandButton>
                                    </h:panelGrid>
                                </p:column>

                                <p:column headerText="#{i18n['experiencia.label.experiencia']}" styleClass="general">
                                    <h:outputText value="#{dto.experiencia}" styleClass="general"/>
                                </p:column>
                                <p:column headerText="#{i18n['experiencia.label.empresa']}" styleClass="general">
                                    <h:outputText value="#{dto.empresa}" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['experiencia.label.fecha_inicio']}" styleClass="general">
                                    <h:outputText value="#{dto.fechaInicio}" styleClass="general" >
                                        <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"/>
                                    </h:outputText>
                                </p:column>
                                <p:column headerText="#{i18n['experiencia.label.fecha_fin']}" styleClass="general">
                                    <h:outputText value="#{dto.fechaFin}" styleClass="general" >
                                        <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"/>
                                    </h:outputText>
                                </p:column>
                                <p:column headerText="#{i18n['experiencia.label.area']}" styleClass="general">
                                    <h:outputText value="#{dto.areaDto.descripcion}" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['experiencia.label.industria']}" styleClass="general">
                                    <h:outputText value="#{dto.industriaDto.descripcion}" styleClass="general" />
                                </p:column>
                                <p:column headerText="#{i18n['experiencia.label.cargo']}" styleClass="general">
                                    <h:outputText value="#{dto.cargoDto.descripcion}" styleClass="general" />
                                </p:column>
                            </p:dataTable>
                        </h:panelGrid>
                    </h:form>
                </p:tab>

                <p:tab title="#{i18n['conocimiento_adicional.panel']}">
                    <h:form onsubmit="return checkSubmit();"  id="frmConocimientosAdicionales">
                        <h:panelGrid  columns="10" cellpadding="4" id="pgConocimientoAdicional">
                            <h:outputLabel value="#{i18n['conocimiento_adicional.label.descripcion']}" styleClass="label"/>

                            <p:inputTextarea label="#{i18n['conocimiento_adicional.label.descripcion']}" onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)"
                                             value="#{personaMBean.descripcionConocAdicional}"  readonly="#{sessionMBean.accion == 3}"
                                             required="true" maxlength="500" cols="120" rows="2"  style="#{applicationMBean.estiloObligatorio}">
                            </p:inputTextarea>

                            <p:spacer width="10" />
                            <p:commandButton icon="ui-icon ui-icon-plus" title="#{i18n['persona.button.agregar.conocimiento_adicional']}"
                                             value="#{i18n['persona.button.agregar.conocimiento_adicional']}"
                                             rendered="#{sessionMBean.privilegiosOpciones['405']=='true' &amp;&amp; sessionMBean.accion != 3 &amp;&amp; personaMBean.accesoBtnGuardar}"
                                             style="#{applicationMBean.cssBotonBusqueda}" ajax="true"
                                             update="tblConocimientoAdicional, pgConocimientoAdicional,:msgs"
                                             action="#{personaMBean.agregarConocimientoAdicional}">
                            </p:commandButton>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <p:dataTable id="tblConocimientoAdicional" value="#{personaMBean.dto.listaConocAdicional}" var="dto"
                                         selectionMode="single" rowKey="#{dto.id}"
                                         emptyMessage="#{i18n['persona.mensaje.no.cono_acicionales']}" styleClass="estiloPanel">
                                <p:column style="text-align:center;">
                                    <h:panelGrid id="pgBotonesGrilla" columns="10" cellspacing="10" styleClass="estiloPanelGrid">
                                        <p:commandButton icon="ui-icon  ui-icon-close" title="#{i18n['general.button.eliminar']}" 
                                                         rendered="#{sessionMBean.privilegiosOpciones['405']=='true' &amp;&amp; sessionMBean.accion!=3 &amp;&amp; personaMBean.accesoBtnGuardar}" ajax="true" immediate="true"
                                                         update="tblConocimientoAdicional,:msgs"
                                                         action="#{personaMBean.eliminarConocimientoAdicional}">
                                            <f:setPropertyActionListener value="#{dto}" target="#{personaMBean.conocimientoAdicionalDto}" />
                                        </p:commandButton>
                                    </h:panelGrid>
                                </p:column>
                                <p:column headerText="#{i18n['conocimiento_adicional.label.descripcion']}"  >
                                    <h:outputText value="#{dto.descripcion}" styleClass="txtCampo" />
                                </p:column>
                            </p:dataTable>
                        </h:panelGrid>
                    </h:form>
                </p:tab>

                <p:tab title="#{i18n['referencia.panel']}">
                    <h:form onsubmit="return checkSubmit();"  id="frmReferencia">
                        <h:panelGrid  columns="10" cellpadding="4" id="pgReferencia">
                            <h:outputLabel value="#{i18n['referencia.label.descripcion']}" styleClass="label"/>
                            <p:inputTextarea label="#{i18n['referencia.label.descripcion']}"
                                             rows="4" cols="120" value="#{personaMBean.descripcionReferencia}"  readonly="#{sessionMBean.accion == 3}"
                                             onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)" maxlength="100"
                                             style="#{applicationMBean.estiloObligatorio}">
                            </p:inputTextarea>

                            <p:spacer width="10" />
                            <p:commandButton icon="ui-icon ui-icon-plus" title="#{i18n['convocatoria.button.agregar.medio_difusion']}"
                                             value="#{i18n['convocatoria.button.agregar.medio_difusion']}"
                                             rendered="#{sessionMBean.privilegiosOpciones['407']=='true' &amp;&amp; sessionMBean.accion != 3 &amp;&amp; personaMBean.accesoBtnGuardar}"
                                             style="#{applicationMBean.cssBotonBusqueda}" 
                                             ajax="true" 
                                             update="tblReferencia,pgReferencia,:msgs"
                                             action="#{personaMBean.agregarReferencia}">
                            </p:commandButton>
                        </h:panelGrid>

                        <h:panelGrid columns="1">
                            <p:dataTable id="tblReferencia" value="#{personaMBean.dto.listaReferencias}" var="dto"
                                         selectionMode="single" rowKey="#{dto.id}"
                                         emptyMessage="#{i18n['form.general.mensaje.no.registros']}" styleClass="estiloPanel">
                                <p:column style="text-align:center;">
                                    <h:panelGrid id="pgBotonesGrilla" columns="10" cellspacing="10" styleClass="estiloPanelGrid">
                                        <p:commandButton icon="ui-icon  ui-icon-close" title="#{i18n['general.button.eliminar']}" 
                                                         rendered="#{sessionMBean.privilegiosOpciones['407']=='true' &amp;&amp; sessionMBean.accion!=3 &amp;&amp; personaMBean.accesoBtnGuardar}" ajax="true" immediate="true"
                                                         update="tblReferencia,:msgs"
                                                         action="#{personaMBean.eliminarReferencia}">
                                            <f:setPropertyActionListener value="#{dto}" target="#{personaMBean.referenciaDto}" />
                                        </p:commandButton>
                                    </h:panelGrid>
                                </p:column>
                                <p:column headerText="#{i18n['referencia.label.descripcion']}"  >
                                    <h:outputText value="#{dto.descripcion}" styleClass="txtCampo" />
                                </p:column>
                            </p:dataTable>
                        </h:panelGrid>
                    </h:form>
                </p:tab>
                <p:tab  title="#{i18n['form.general.tab.archivos']}">
                    <h:form onsubmit="return checkSubmit();"  id="frmArchivos">
                        <p:fileUpload fileUploadListener="#{personaMBean.listenerFile}"  update="tblArchivos" rendered="#{sessionMBean.accion!=3}"                                          
                                      label="#{i18n['form.general.file.upload.titulo']}" uploadLabel="#{i18n['form.general.file.upload.cargar']}" 
                                      cancelLabel="#{i18n['form.general.file.upload.cancelar']}" multiple="true" mode="advance"/>   


                        <p:dataTable id="tblArchivos" var="dto" paginator="true" rows="#{sessionMBean.cantidadRegistros}"  widgetVar="widTable"                                                                                 
                                     value="#{archivoMBean.listaArchivos}"
                                     emptyMessage="#{i18n['form.general.mensaje.no.registros']}">                               
                            <p:column style="text-align: center">
                                <p:commandButton action="#{archivoMBean.verArchivo}"  rendered="#{sessionMBean.privilegiosOpciones['526']=='true' &amp;&amp; dto.id != null}" ajax="false" onclick="unCheckSubmit()"
                                                 title="#{i18n['general.button.descargar']}" icon="ui-icon ui-icon-arrowthickstop-1-s">                                       
                                    <f:setPropertyActionListener value="#{dto}" 
                                                                 target="#{archivoMBean.archivoDto}" />                                             
                                </p:commandButton>       
                                <p:spacer width="5"/>
                                <p:commandButton icon="ui-icon ui-icon-close"  title="#{i18n['form.general.boton.eliminar.registro']}"
                                                 rendered="#{sessionMBean.privilegiosOpciones['526']=='true' &amp;&amp; sessionMBean.accion!=3}"
                                                 action="#{archivoMBean.eliminarArchivo}" ajax="true" update=":tabPrincipalDeta:frmArchivos:tblArchivos">
                                    <f:setPropertyActionListener value="#{dto}" target="#{archivoMBean.archivoDto}" />                                                                    
                                </p:commandButton>
                            </p:column>

                            <p:column style="text-align: left">
                                <f:facet name="header">  
                                    <h:outputText value="#{i18n['form.archivo.nombre']}" styleClass="label"/>  
                                </f:facet> 
                                <h:outputText value="#{dto.nombre}" style="#{i18n['form.general.style.upper']}}" />
                            </p:column>
                            <p:column style="text-align: right">
                                <f:facet name="header">  
                                    <h:outputText value="#{i18n['form.archivo.extension']}" styleClass="label"/>  
                                </f:facet> 
                                <h:outputText value="*.#{dto.extension}" style="#{i18n['form.general.style.upper']}}" />
                            </p:column>

                            <p:column style="text-align: right">
                                <f:facet name="header">  
                                    <h:outputText value="#{i18n['form.archivo.peso']}" styleClass="label"/>  
                                </f:facet> 
                                <h:outputText value="#{dto.peso}">
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                                </h:outputText>
                            </p:column>

                            <p:column>
                                <f:facet name="header">  
                                    <h:outputText value="#{i18n['form.archivo.detalle']}" styleClass="label"/>  
                                </f:facet> 
                                <p:inplace id="ajaxInplace" editor="true" emptyLabel="#{i18n['general.empty.label']}">
                                    <p:inputText value="#{dto.detalle}" size="80" readonly="#{sessionMBean.accion==3}" label="#{i18n['form.archivo.detalle']}"/>                                         
                                    <p:ajax event="save" listener="#{archivoMBean.guardarArchivo(dto)}" update="tblArchivos" />
                                </p:inplace>

                            </p:column> 
                            <p:column>
                                <f:facet name="header">  
                                    <h:outputText value="#{i18n['form.archivo.tipo']}" styleClass="label"/>  
                                </f:facet> 
                                <p:inplace id="ajaxInplaceTipo" editor="true" label="#{dto.tipoDto.descripcion}" >
                                    <p:selectOneMenu value="#{dto.tipoDto}"  converter="parametroConvert"  disabled="#{sessionMBean.accion==3}"                               
                                                     style="#{applicationMBean.estiloObligatorio}">
                                        <f:selectItems value="#{personaMBean.listaTiposArchivo}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                                    </p:selectOneMenu>
                                    <p:ajax event="save" listener="#{archivoMBean.guardarArchivo(dto)}" update="tblArchivos" />
                                </p:inplace>

                            </p:column> 
                        </p:dataTable>
                    </h:form>
                </p:tab>    

            </p:tabView>

            <h:form onsubmit="return checkSubmit();"  id="frmPopupEstudio">
                <p:dialog id="dialogEstudios" header="#{i18n['estudio.panel']}" widgetVar="carDialogEstudios" resizable="false"
                          width="400" height="480" modal="true" >
                    <p:messages id="msjDialogEstudio" showDetail="false" autoUpdate="true" />
                    <ui:include src="/pages/sgc/popup/popupEstudiosPersona.xhtml" />
                </p:dialog>
            </h:form>

            <h:form onsubmit="return checkSubmit();"  id="frmPopupExperiencia">
                <p:dialog id="dialogExperiencia" header="#{i18n['experiencia.panel']}" widgetVar="carDialogExperiencia" resizable="false"
                          width="610" height="420" modal="true">
                    <p:messages id="msjDialogExperiencia" showDetail="false" autoUpdate="true" />
                    <ui:include src="/pages/sgc/popup/popupExperienciaPersona.xhtml" />
                </p:dialog>
            </h:form>
        </ui:define>
    </ui:composition>
</html>